// {
//     // map-array 横行对比: 增查删改
//     let map = new Map();
//     let array = [];

//     map.set('t', 1)
//     array.push({ 't': 1 })
//     console.log('add', map, array)

//     let map_exit = map.has('t');
//     let array_exit = array.find(item => item.t)
//     console.log('find', map_exit, array_exit)

//     map.set('t', 2)
//     array.forEach(item => item.t ? item.t =2 : '')
//     console.log('modify', map, array)

//     map.delete('t')
//     let index = array.findIndex(item=>item.t);
//     array.splice(index)
//     console.log('delete', map, array)

// }

// {
//     // set-array 横行对比: 增查删改
//     let set = new Set();
//     let array = [];

//     set.add({ 't': 1 })
//     array.push({ 't': 1 })
//     console.log('add', set, array)

//     let set_exit = set.has('t');
//     let array_exit = array.find(item => item.t)
//     console.log('find', set_exit, array_exit)

//     set.forEach(item => item.t ? item.t = 2 : '')
//     array.forEach(item => item.t ? item.t = 2 : '')
//     console.log('modify', set, array)

//     set.forEach(item => item.t ? set.delete(item):'');
//     let index = array.findIndex(item => item.t);
//     array.splice(index)
//     console.log('delete', set, array)

// }

{
    // map-set-object 对比
    let item = { 't': 1 }
    let map = new Map()
    let set = new Set()
    let obj = {}

    map.set('t',1)
    set.add(item)
    obj['t']= 1
    console.log('add', map, set, obj)

    console.log('find',map.has('t'),set.has(item), 't' in obj)

    map.set('t',2)
    item.t = 2
    obj.t =2
    console.log('modify', map, set, obj)

    map.delete('t')
    set.delete(item)
    delete obj['t']
    console.log('delete', map, set, obj)
}